\documentclass[a4paper,10pt]{article}
\pagestyle{empty}

%opening
\title{Estructura de Datos con Multi Resoluci\'{o}n para Rendereado a Base de Puntos usando Atlases Proyectivos}
\author{Carlos Andr\'{e}s Dom\'{i}nguez Caballero\\UMSNH}

\date{Abril, 2008}

\begin{document}

\maketitle

Entregado a la Facultad de F\'{i}sico Matem\'{a}ticas en Agosto del 2008, en cumplimiento parcial de los requerimientos para obtener el grado de Licenciado en F\'{i}sico Matem\'{a}ticas
 

\section*{Resumen}

A lo largo de esta t\'{e}sis, describir\'{e} el proyecto de investigaci\'{o}n que llev\'{e}
a cabo durante un verano de investigaci\'{o}n en el Instituto de Matematica Pura e 
Aplicada (IMPA) en Rio de Janeiro, Brazil.\\
\\
El proyecto consisti\'{o} en la creaci\'{o}n, dise\~{n}o e implementaci\'{o}n de una 
estructura de datos para visualizaci\'{o}n en tiempo real de modelos en 3D de alta 
definici\'{o}n. El proceso de la creaci\'{o}n de la misma, esta dividido en dos etapas
principales: 
\begin{enumerate}
 \item Extracci\'{o}n y almacenamiento del modelo 3D
 \item Cargado de la estructura de datos y generaci\'{o}n del \'{a}rbol de multi-resoluci\'{o}n
 \item Renderizado
\end{enumerate}

Para crear la estructura de datos se usaron atlases proyectivos y 
usando la interpolaci\'{o}n nativa de OpenGL se creo un conjunto de datos obteniendo un nuevo
modelo 3D. Esta informaci\'{o}n es posteriormente almacenada en contenedores
los cuales son simples archivos *.jpg en los que los datos extraidos son insertados
respectivamente de cada atlas proyectivo. Estos datos son:
la funci\'{o}n caracter\'{i}stica, el mapa de normales, el mapa de
profundidad y el color del objeto. Tambi\'{e}n se crea un archivo auxiliar para 
el almacenamiento de datos como la posici\'{o}n de los atlases proyectivos y la cantidad
de ellos as\'{i} como otros par\'{a}metros auxiliares.

Despu\'{e}s para poder visualizar el modelo y obtener un buen \'{i}ndice de 
cuadros por segundo, se cre\'{o} una estructura de \'{a}rbol donde contiene varios
niveles de detalle del modelo de manera que se ajusten a la capacidad de procesamiento
del CPU y GPU.

Una vez completado el proceso s\'{o}lo resta ponerlo en pantalla, es decir, renderizaci\'{o}n.
Para la cual fue implementado un sistema semejante a un Ray Tracer en el cu\'{a}l se usan
los par\'{a}metros de cada atlas proyectivo y su contenido para crear un c\'{i}rculo por cada
pixel del atlas ajustando su radio y su atenuaci\'{o}n para no dejar huecos en el modelo.

Finalmente, se creo un software de prueba de concepto donde se corrieron pruebas en comparaci\'{o}n
al m\'{e}todo tradicional mas r\'{a}pido hoy en d\'{i}a, la rasterizaci\'{o}n. A lo largo de 
esta t\'{e}sis tambi\'{e}n se comparar\'{a} con los m\'{e}todos mas recientes de rendereado
a base de puntos.

\end{document}
